Ensuring a desired distribution of content in a multimedia document for different demographic groups utilizing demographic information

ABSTRACT

A method, system and computer program product for ensuring a desired distribution of images in a multimedia document among different demographic groups. Demographic criteria (e.g., age) is received to form demographic groups of members of an organization. Demographic information along with interests of the members are retrieved. Such member data is analyzed within the constraints of the demographic criteria to generate a statistical distribution of members of the organization that forms an initially desired distribution of content of the multimedia document among the demographic groups of the organization. An indication is then provided to the user regarding whether the current distribution of the content of the multimedia document among the demographic groups of the organization satisfies or does not satisfy the desired distribution of content among the demographic groups. In this manner, the user can ensure a desired distribution of content in the multimedia document among different demographic groups.

TECHNICAL FIELD

The present invention relates generally to creating multimediadocuments, and more particularly to ensuring a desired distribution ofcontent (e.g., images) in a multimedia document (e.g., yearbook,slideshow, video, website) for different demographic groups (e.g., agroup of individuals in their 20s) utilizing demographic information(e.g., age, gender).

BACKGROUND

Generating a multimedia document, such as a yearbook or slideshow, thatincludes a set of images that is representative of different demographicgroups (e.g., a group of individuals in their 20s, a group ofindividuals in their 30s, etc.) within a large group of members (e.g.,employees at a company) can be a difficult task. For example, it takes alot of effort and time in creating an end of the year slideshow for anorganization (e.g., company, non-profit organization) that includespictures of members of the organization (e.g., employees of company).The creator(s) of the slideshow may want to ensure that each demographicgroup (e.g., groups based on age, race, gender) is not overly orinadequately represented in comparison to the other demographic groupsin order to provide fairness and increase member enjoyment. For example,the creator(s) of the yearbook may want to ensure that the slideshowdoes not include many images of a particular demographic group (e.g.,twenty pictures of males) while only including a single image of anotherclass demographic group (e.g., a single picture of a female). However,the creator(s) of the slideshow may have hundreds or thousands of imagesof hundreds of members of the organization to choose to include in theslideshow. As a result, it may be overwhelming for the creator(s) of theslideshow to ensure that each member of the organization is adequatelyrepresented in the slideshow and that there are not some members thatare overly represented in the yearbook.

Currently, a multimedia document, such as a slideshow, may be generatedby selecting an image for inclusion in the slideshow, where the imagehas associated facial detection information. A face location isdetermined in the selected image based on the facial detectioninformation and the selected image is cropped based on the determinedface location to generate a cropped image depicting the included face.The cropped image is inserted into a slide associated with theslideshow. However, there is not currently an approach in ensuring aspecific distribution of images in the slideshow for various demographicgroups, such as ensuring a particular demographic group is not overly orinsufficiently represented in the slideshow.

Furthermore, a multimedia document, such as a yearbook, may be designedand created utilizing a facial recognition module for identifying asubject in a photo and tagging the photo with an identity of thesubject. Identifying the subject may include comparing the photo to aplurality of previously tagged photos to identify the subject. However,there is not currently an approach in ensuring a specific distributionof images for demographic groups in the yearbook. For example, there isnot currently an approach in ensuring that each demographic group has aminimum number of images in the yearbook. Neither is there currently anapproach in ensuring that there is a certain percentage of images out ofthe total number of images in the yearbook for a particular demographicgroup.

Therefore, there is a need in the art for ensuring a desireddistribution of images for various demographic groups in a multimediadocument (e.g., yearbook, slideshow, video, web site).

SUMMARY

In one embodiment of the present invention, a method for ensuring adesired distribution of images in a multimedia document among differentdemographic groups comprises receiving demographic criteria to formdemographic groups of members of an organization. The method furthercomprises retrieving demographic information of the members of theorganization. The method additionally comprises retrieving interests ofthe members of the organization. Furthermore, the method comprisesanalyzing the demographic information and the interests of the membersof the organization within constraints of the demographic criteria togenerate a statistical distribution of members to form a desireddistribution of content of the multimedia document among the demographicgroups of the organization. Additionally, the method comprises receivingcontent of the multimedia document for analysis. In addition, the methodcomprises analyzing the content of the multimedia document based on thedemographic criteria. The method further comprises determining a currentdistribution of the content of the multimedia document among thedemographic groups of the organization based on the analysis. The methodadditionally comprises adjusting the content of the multimedia documentby adding or deleting images to satisfy the desired distribution ofcontent among the demographic groups of the organization in response tothe current distribution of the content of the multimedia document amongthe demographic groups of the organization not satisfying the desireddistribution of content among the demographic groups of theorganization.

Other forms of the embodiment of the method described above are in asystem and in a computer program product.

The foregoing has outlined rather generally the features and technicaladvantages of one or more embodiments of the present invention in orderthat the detailed description of the present invention that follows maybe better understood. Additional features and advantages of the presentinvention will be described hereinafter which may form the subject ofthe claims of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained when thefollowing detailed description is considered in conjunction with thefollowing drawings, in which:

FIG. 1 illustrates a network system configured in accordance with anembodiment of the present invention;

FIG. 2 illustrates a hardware configuration of a computing device forpracticing the principles of the present invention in accordance with anembodiment of the present invention;

FIG. 3 is a diagram of the software components used in connection withensuring a desired distribution of images in a multimedia document amongdifferent demographic groups in accordance with an embodiment of thepresent invention;

FIG. 4 is a flowchart of a method for generating a desired statisticaldistribution of images in the multimedia document among demographicgroups of the organization in accordance with an embodiment of thepresent invention; and

FIG. 5 is a flowchart of a method for ensuring a desired distribution ofimages in the multimedia document among different demographic groups ofthe organization in accordance with an embodiment of the presentinvention.

DETAILED DESCRIPTION

The present invention comprises a method, system and computer programproduct for ensuring a desired distribution of images in a multimediadocument among different demographic groups. In one embodiment of thepresent invention, demographic criteria (e.g., age, race, gender) isreceived from a user to form demographic groups of members of anorganization (e.g., demographic group of females aged 11-20 years old).Demographic information (e.g., age, gender, race) of members of theorganization along with interests of members of the organization areretrieved. Such member data is analyzed within the constraints of thereceived demographic criteria to generate a statistical distribution ofmembers of the organization that initially forms a desired distributionof content (e.g., images, video, text, voice) of the multimedia documentamong the demographic groups of the organization. For example, if thedemographic criteria received was to form demographic groups based onage, then a statistical distribution of members of the organizationbased on age may appear as follows: aged 11-20 (5%); aged 21-30 (20%);aged 31-40 (40%); aged 41-50 (20%); aged 51-60 (10%); aged 61 and older(5%), where the percentage indicates a percentage of the members of theorganization with an age in that corresponding demographic group. Thecontent of the multimedia document (e.g., yearbook, slideshow, video,website) created by the user is then received for analysis. The contentof the multimedia document is analyzed based on the demographiccriteria. For example, if the demographic criteria received were to formdemographic groups based on gender, then the content (e.g., pictures) ofthe multimedia document is analyzed for images of individuals based ongender. The current distribution of the content of the multimediadocument among the demographic groups of the organization is determinedbased on this analysis. For example, it may be determined that out ofthe 1,000 images analyzed, 700 of them were pictures of males and 300 ofthem were pictures of females. A determination is then made as towhether the current distribution of content among the demographic groupsof the organization satisfies the desired distribution of content amongthe demographic groups. For example, it may be determined that out ofthe 100 slides of the slideshow, 70 slides depict men and 30 slidesdepict women. Such a content distribution (70 slides of men and 30slides) may be compared to the desired distribution of content among thedemographic groups of the organization, such as a statisticaldistribution of members of the organization based on gender: male (65%)and female (35%). In such an example, the current distribution ofcontent among the demographic groups of the organization does notsatisfy the desired distribution of content among the demographic groupssince 70% of the slides depict men as opposed to 65% and only 30% of theslides depict females as opposed to 35%. An indication may then beprovided to the user regarding whether the current distribution of thecontent of the multimedia document among the demographic groups of theorganization satisfies or does not satisfy the desired distribution ofcontent among the demographic groups of the organization. In thismanner, the user can ensure a desired distribution of content in themultimedia document (e.g., yearbook, slideshow, video, website) amongdifferent demographic groups.

In the following description, numerous specific details are set forth toprovide a thorough understanding of the present invention. However, itwill be apparent to those skilled in the art that the present inventionmay be practiced without such specific details. In other instances,well-known circuits have been shown in block diagram form in order notto obscure the present invention in unnecessary detail. For the mostpart, details considering timing considerations and the like have beenomitted inasmuch as such details are not necessary to obtain a completeunderstanding of the present invention and are within the skills ofpersons of ordinary skill in the relevant art.

Referring now to the Figures in detail, FIG. 1 illustrates a networksystem 100 configured in accordance with an embodiment of the presentinvention. Network system 100 includes a computing device 101 connectedto a database 102 via a network 103. Computing device 101 may be anytype of computing device (e.g., portable computing unit, PersonalDigital Assistant (PDA), smartphone, laptop computer, mobile phone,navigation device, game console, desktop computer system, workstation,Internet appliance and the like) configured with the capability ofconnecting to database 102 via network 103. A hardware configuration ofa computing device 101 is discussed below in connection with FIG. 2.

Network 103 may be, for example, a local area network, a wide areanetwork, a wireless wide area network, a circuit-switched telephonenetwork, a Global System for Mobile Communications (GSM) network,Wireless Application Protocol (WAP) network, a WiFi network, an IEEE802.11 standards network, various combinations thereof, etc. Othernetworks, whose descriptions are omitted here for brevity, may also beused in conjunction with system 100 of FIG. 1 without departing from thescope of the present invention.

Database 102 is configured to store demographic information (e.g., age,gender) for members (e.g., employees) of an organization (e.g.,non-profit organization, corporation). In one embodiment, database 102may further be configured to store profiles of the members containinginformation, such as the employee's interest, skills, roles and familymembers. In one embodiment, database 102 is configured to store thestatistical distribution of members of the organization that correspondsto the desired distribution of content of a multimedia document (e.g.,yearbook, slideshow, video, website) among the different demographicgroups (e.g., males aged 21-30, males aged 31-40) of the organization asdiscussed further below in connection with FIGS. 3-4. While FIG. 1illustrates a single database 102, network system 100 may include anynumber of databases 102 that may store in combination or separately oneor more of the different types of information discussed above.

Referring now to FIG. 2, FIG. 2 illustrates a hardware configuration ofa computing device 101 (FIG. 1) for practicing the principles of thepresent invention in accordance with an embodiment of the presentinvention.

As illustrated in FIG. 2, computing device 101 has a processor 201coupled to various other components by system bus 202. An operatingsystem 203 runs on processor 201 and provides control and coordinatesthe functions of the various components of FIG. 2. An application 204 inaccordance with the principles of the present invention runs inconjunction with operating system 203 and provides calls to operatingsystem 203 where the calls implement the various functions or servicesto be performed by application 204. Application 204 may include, forexample, an application for ensuring a desired distribution of images ina multimedia document among different demographic groups (e.g., malesaged 21-30, males aged 31-40) as discussed below in association withFIGS. 3-5.

Referring again to FIG. 2, read-only memory (“ROM”) 205 is coupled tosystem bus 202 and includes a basic input/output system (“BIOS”) thatcontrols certain basic functions of computing device 101. Random accessmemory (“RAM”) 206 and disk adapter 207 are also coupled to system bus202. It should be noted that software components including operatingsystem 203 and application 204 may be loaded into RAM 206, which may becomputing device's 101 main memory for execution. Disk adapter 207 maybe an integrated drive electronics (“IDE”) adapter that communicateswith a disk unit 208, e.g., disk drive. It is noted that the program forensuring a desired distribution of images in a multimedia document amongdifferent demographic groups (e.g., males aged 21-30, males aged 31-40),as discussed below in association with FIGS. 3-5, may reside in diskunit 208 or in application 204.

Computing device 101 may further include a communications adapter 209coupled to bus 202. Communications adapter 209 interconnects bus 202with an outside network (e.g., network 103 of FIG. 1) thereby enablingcomputing device 101 to communicate with other devices, such as database102 (FIG. 1).

I/O devices may also be connected to computing device 101 via a userinterface adapter 210 and a display adapter 211. Keyboard 212, mouse 213and speaker 214 may all be interconnected to bus 202 through userinterface adapter 210. A display monitor 215 may be connected to systembus 202 by display adapter 211. In this manner, a user is capable ofinputting to computing device 101 through keyboard 212 or mouse 213 andreceiving output from computing device 101 via display 215 or speaker214.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

As stated in the Background section, generating a multimedia document,such as a yearbook or slideshow, that includes a set of images that isrepresentative of different demographic groups (e.g., a group ofindividuals in their 20s, a group of individuals in their 30s, etc.)within a large group of members (e.g., employees at a company) can be adifficult task. For example, it takes a lot of effort and time increating an end of the year slideshow for an organization (e.g.,company, non-profit organization) that includes pictures of members ofthe organization (e.g., employees of company). The creator(s) of theslideshow may want to ensure that each demographic group (e.g., groupsbased on age, race, gender) is not overly or inadequately represented incomparison to the other demographic groups in order to provide fairnessand increase member enjoyment. For example, the creator(s) of theyearbook may want to ensure that the slideshow does not include manyimages of a particular demographic group (e.g., twenty pictures ofmales) while only including a single image of another class demographicgroup (e.g., a single picture of a female). However, the creator(s) ofthe slideshow may have hundreds or thousands of images of hundreds ofmembers of the organization to choose to include in the slideshow. As aresult, it may be overwhelming for the creator(s) of the slideshow toensure that each member of the organization is adequately represented inthe slideshow and that there are not some members that are overlyrepresented in the yearbook. Therefore, there is a need in the art forensuring a desired distribution of images for various demographic groupsin a multimedia document (e.g., yearbook, slideshow, video, website).

The principles of the present invention provide a means for ensuring adesired distribution of images in a multimedia document among differentdemographic groups as discussed below in connection with FIGS. 3-5. FIG.3 is a diagram of the software components used in connection withensuring a desired distribution of images in a multimedia document amongdifferent demographic groups. FIG. 4 is a flowchart of a method forgenerating a desired statistical distribution of images in themultimedia document among demographic groups of the organization. FIG. 5is a flowchart of a method for ensuring a desired distribution of imagesin the multimedia document among different demographic groups of theorganization.

As stated above, FIG. 3 is a diagram of the software components used inconnection with ensuring a desired distribution of images in amultimedia document among different demographic groups in accordancewith an embodiment of the present invention. In one embodiment, thesesoftware components may reside in application 204 (FIG. 2).

The following provides a brief description of these software components.A more detailed description of these software components is providedbelow in conjunction with FIGS. 4-5, where their functionalities arediscussed below in connection with the methods of FIGS. 4 and 5.

Referring to FIG. 3, the software components include a configurationmodule 301 configured to form the demographic groups (e.g., members agedbetween 21-30 years old) of the organization using demographic criteria(e.g., age) provided by the user of computing device 101.

The software components further include an analysis module 302configured to analyze demographic information and the interests of themembers (e.g., employees) of an organization (e.g., non-profitorganization, company) to generate a statistical distribution of membersof the organization that forms the desired distribution of content amongthe demographic groups of the organization. For example, if thedemographic criteria was to form demographic groups based on age, then astatistical distribution of members of the organization based on age mayappear as follows: aged 11-20 (5%); aged 21-30 (20%); aged 31-40 (40%);aged 41-50 (20%); aged 51-60 (10%); aged 61 and older (5%), where thepercentage indicates a percentage of the members of the organizationwith an age in that corresponding demographic group.

Furthermore, the software components include a summary module 303configured to record and store the generated statistical distribution ofmembers of the organization for future use.

Additionally, the software components include a content input module 304configured to receive content of a multimedia document (e.g., yearbook,slideshow, video, website) for analysis. The software component ofcontent mining module 305 analyzes the contents of the multimediadocument based on the demographic criteria provided by the user todetermine the current distribution of content of the multimedia documentamong the demographic groups of the organization.

Furthermore, the software components include an alert module 306configured to provide an indication to the user of computing device 101regarding whether the current distribution of content among thedemographic groups of the organization satisfies the desireddistribution of content among the demographic groups.

A more detailed description of the functionalities of these softwarecomponents is provided below in connection with FIGS. 4-5.

As stated above, FIG. 4 is a flowchart of a method 400 for generating adesired statistical distribution of images in the multimedia documentamong demographic groups of the organization in accordance with anembodiment of the present invention.

Referring to FIG. 4, in conjunction with FIGS. 1-3, in step 401,configuration module 301 receives demographic criteria (e.g., age, race,gender, department, interest, religion, family classification (e.g.,brother, son, parent, child, adult), etc.) to form groups (referred toherein as “demographic groups”) of individuals or members within anorganization (e.g., non-profit organization, company). For example, auser may input to computing device 101 one or more demographic criteriato be used to form demographic groups of members of an organization. Forinstance, the user may input the demographic criteria of age to be usedto form demographic groups of members of an organization. As discussedfurther below, configuration module 301 may form demographic groups ofmembers of the organization based on age, such as based on members beingin their 20s, 30s, 40s, etc. Furthermore, the user may input multipledemographic criteria that may be used in combination to form demographicgroups of members of the organization. For example, the user may inputthe demographic criteria of age and gender to be used to formdemographic groups of members of an organization. As a result, ademographic group of females aged 11-20, a demographic group of malesaged 11-20, a demographic group of females aged 21-30, a demographicgroup of males aged 21-30, etc. of those members of the organizationthat satisfy such criteria may be formed.

In step 402, configuration module 301 retrieves the demographicinformation (e.g., age, gender, race) of members of the organization.Such information may be retrieved from profiles of the members stored atthe organization's data center, such as in a database (e.g., database102)

In step 403, configuration module 301 retrieves the interests of membersof the organization. In one embodiment, the interests of members of theorganization may be stored in profiles, such as at the organization'sdata center, such as in a database (e.g., database 102). In anotherembodiment, configuration module 301 retrieves the interests of membersof the organization via social networking sites, such as Facebook® andLinkedIn®.

In step 404, analysis module 302 analyzes the member data, such as thedemographic information and interests retrieved in steps 402, 403),within the constraints of the demographic criteria received in step 401to generate a statistical distribution of members of the organization toform an initially desired distribution of content (e.g., images, video,text, voice) of the multimedia document among the demographic groups ofthe organization. The initial desired distribution of content of themultimedia document may be adjusted as discussed further below inconnection with step 504. For example, if the demographic criteriareceived in step 401 was to form demographic groups based on age, then astatistical distribution of members of the organization based on age mayappear as follows: aged 11-20 (5%); aged 21-30 (20%); aged 31-40 (40%);aged 41-50 (20%); aged 51-60 (10%); aged 61 and older (5%), where thepercentage indicates a percentage of the members of the organizationwith an age in that corresponding demographic group.

In another example, if the demographic criteria received in step 401 wasto form demographic groups based on gender, then a statisticaldistribution of members of the organization based on age may appear asfollows: male (65%) and female (35%), where the percentage indicates apercentage of the members of the organization with a gender in thatcorresponding demographic group.

In a further example, the user may provide multiple demographic criteriain step 401 to form demographic groups of members within theorganization. For example, the user may indicate to use both age andgender as criteria for forming demographic groups of members within theorganization. As a result, a statistical distribution of members of theorganization based on age and gender may appear as follows: female aged11-20 (5%); male aged 11-20 (10%); female aged 21-30 (10%); male aged21-30 (15%); female aged 31-40 (10%); male aged 31-40 (20%); female aged41-50 (5%); male aged 41-50 (10%); female aged 51-60 (3%); male aged51-60 (6%), female aged 61 and older (2%); male aged 61 and older (4%),where the percentage indicates a percentage of the members of theorganization with an age and gender in that corresponding demographicgroup.

In step 405, summary module 303 stores the statistical distribution ofmembers of the organization generated in step 404, such as in database101, for future use.

As discussed above, the statistical distribution of members of theorganization generated in step 404 forms the desired distribution ofcontent (e.g., images, video, text, voice) of the multimedia documentamong the demographic groups of the organization as discussed below inconnection with FIG. 5.

FIG. 5 is a flowchart of a method 500 for ensuring a desireddistribution of images in the multimedia document among differentdemographic groups of the organization in accordance with an embodimentof the present invention.

Referring to FIG. 5, in conjunction with FIGS. 1-4, in step 501, contentinput module 304 receives the source images of the content of themultimedia document. These source images may provide the source of thecontent (e.g., pictures, weekly newspapers for the past six months) thatwas used by the user to create the multimedia document (e.g., yearbook,slideshow, video, website) that will be analyzed in step 505 asdiscussed below. Furthermore, these source images may include additionalimages that were not utilized by the user to create the multimediadocument.

In step 502, content input module 304 receives the content of themultimedia document (e.g., yearbook, slideshow, video, website) createdby the user for analysis.

In step 503, content input module 304 receives information pertaining tothe content of the multimedia document from the user. For example, theuser may indicate that the content (slides of a slideshow) pertains tofootball since the slideshow is a presentation of pictures taken at theSuper Bowl party. Such information may be used by content input module304 to adjust the stored statistical distribution of members of theorganization generated in step 404 that formed the desired distributionof content (e.g., images, video, text, voice) of the multimedia documentamong the demographic groups of the organization.

In step 504, content input module 304 optionally adjusts the storedstatistical distribution of members (generated in step 404) that formthe desired distribution of content of the multimedia document among thedemographic groups of the organization based on the received contentinformation. For example, suppose that the demographic criteria receivedin step 401 was to form demographic groups based on gender and astatistical distribution of members of the organization based on age wasgenerated as follows: male (65%) and female (35%), where the percentageindicates a percentage of the members of the organization with a genderin that corresponding demographic group. Based on the analysis of themember's interest in step 404, content input module 304 may determinethat out of the 1,000 employees, 700 of them are interested in football.Out of these 700 employees, computing device 101 determines that 80% ofthem are male and 20% of them are female based on gender informationthat may be obtained from their profile. As a result, the desireddistribution of content of the multimedia document among the demographicgroups of the organization may be modified to be male (80%) and female(20%). That is, the stored statistical distribution of members(generated in step 404) that form the desired distribution of content ofthe multimedia document among the demographic groups of the organizationis modified based on the received content information. The modifiedstatistical distribution of members may be stored in database 102.

In step 505, content mining module 305 analyzes the content of themultimedia document based on the demographic criteria received in step401. For example, if the demographic criteria received in step 401 wasto form demographic groups based on gender, then computing device 101analyzes the content (e.g., pictures) for images of individual based ongender. In one embodiment, computing device 101 utilizes a facerecognition algorithm that can determine a gender with a certainprobability based on features of the shape of the face (males tend tohave square-shaped faces with more intricate hairlines and slightlysquare jawlines as well as have longer faces at the bottom toaccommodate a longer upper lip and lengthy chin), facial features (e.g.,females' eyebrows are more arched and sit higher above the rims of theeyes, while males' eyebrows sit slightly above the brow bone) and bonestructure (e.g., brow bossing is more pronounced in men, women tend tohave foreheads that are more rounded and vertical, women tend to havehigher cheekbones than men do, men tend to have hollower cheeks).

In another example, if the demographic criteria received in step 401 wasto form demographic groups based on age, then computing device 101analyzes the content (e.g., pictures) for images of individual based onage. For example, an age may be estimated using a face recognitionalgorithm by analyzing each section of the person's cheek, eye, brow,mouth and jowl looking for shading variations that signal lines, darkspots, drooping and other age-related changes in comparison with a knownsample of images of individuals with a known age. In one embodiment, dot“landmarks” may be placed on the image to determine a target area. Thedots are connected to make triangles where computing device 101 looksfor variations in color and texture within each triangle. More variationthan average within an area often indicates an older face. Major regionsare considered and assigned ages. The combination results in a“perceived age.” Such major regions may include the forehead wherehorizontal creases and lines around the brow ridge may indicate age(more horizontal creases and lines the older the individual may be).Another major region is the brow region where vertical lines appearbetween the eyebrows in people who tend to furrow them (vertical linesmay be used to indicate age). Another major region is the area aroundthe eyes where crow's feet and bags below the eye can begin to appear inthe mid-20s. Furthermore, a major region may be the nose area where thetip of the nose becomes more bulbous with age. The cheek/jowl area maybe another major region where cheeks may start to sag with age and thewrinkles develop in the cheeks with age. The mouth may also be anothermajor region where collagen declines making the lips thinner with ageand the mouth begins to drop at the corners with age.

Other examples include estimating a person's ethnicity using facialrecognition software that utilizes ethnicity-sensitive image featuresand probabilistic graphical models to represent ethnic classes. Theethnicity sensitive image features are derived from groups of imagefeatures so that each grouping of the image features contributes to moreaccurate recognition of the ethnic class. The ethnicity-sensitive imagefeatures can be derived from image filters that are matched to differentcolors, sizes, and shapes of facial features, such as eyes, mouth, orcomplexion. The ethnicity-sensitive image features serve as observablequantities in the ethnic class-dependent probabilistic graphical models,where each probabilistic graphical model represents one ethnic class. Agiven input facial image is corrected for pose and lighting, andethnicity-sensitive image features are extracted. The extracted imagefeatures are fed to the ethnicity-dependent probabilistic graphicalmodels to determine the ethnic class of the input facial image.

In step 506, content mining module 305 determines the currentdistribution of the content of the multimedia document among thedemographic groups (demographic groups formed in light of thedemographic criteria received in step 401) of the organization based onthe analysis of step 505. For example, content mining module 305 maydetermine that out of the 1,000 images analyzed, 700 of them werepictures of males and 300 of them were pictures of females.

In step 507, a determination is made by content mining module 305 as towhether the current distribution of content among the demographic groups(demographic groups formed in light of the demographic criteria receivedin step 401) of the organization satisfies the desired distribution ofcontent among the demographic groups. For example, content mining module305 may determine that out of the 100 slides of the slideshow, 70 slidesdepicted men and 30 slides depicted women. Such a content distribution(70 slides of men and 30 slides) may be compared to the desireddistribution of content among the demographics groups of theorganization, such as a statistical distribution of members of theorganization based on age: male (65%) and female (35%). In such anexample, the current distribution of content among the demographicgroups of the organization does not satisfy the desired distribution ofcontent among the demographic groups since 70% of the slides depict menas opposed to 65% and only 30% of the slides depict females as opposedto 35%. If, however, the content distribution of the slides of theslideshow were 65 slides depicting men and 35 slides depicting women,then the current distribution of content among the demographic groups ofthe organization may be said to satisfy the desired distribution ofcontent among the demographic groups.

If the current distribution of content among the demographic groups(demographic groups formed in light of the demographic criteria receivedin step 401) of the organization satisfy the desired distribution ofcontent among the demographic groups, then, in step 508, alert module306 provides an indication (e.g., textual notification) that the currentdistribution of content satisfies the desired distribution of contentamong the demographic groups of the organization.

If, however, the current distribution of content among the demographicgroups (demographic groups formed in light of the demographic criteriareceived in step 401) of the organization does not satisfy the desireddistribution of content among the demographic groups, then, in step 509,alert module 306 provides an indication (e.g., textual notification)that the current distribution of content does not satisfy the desireddistribution of content among the demographic groups of theorganization.

In step 510, content mining module 305 adjusts the content of themultimedia document to satisfy the desired distribution of content amongthe demographic groups of the organization. For example, content miningmodule 305 may provide images to the user from the source images of thecontent of the multimedia document (received in step 501) to be added tothe multimedia document to adjust the content of the multimedia documentfor a particular demographic group to satisfy the desired distributionof content for that demographic group of the organization when thecurrent distribution of content for that demographic group does notsatisfy the desired distribution of content for that demographic group.For instance, if the current distribution of slides in the slideshowincludes 30 slides of women out of a total of 100 slides and the desireddistribution of slides that include females is 35%, then content miningmodule 305 may provide additional images of females (e.g., five images)from the source images that have not been included in the multimediadocument to the user to be added to the multimedia document to increasethe number of slides depicting females. In one embodiment, contentmining module 305 may utilize a facial recognition algorithm to identifyappropriate images (e.g., images of females) from the source images tobe added to the multimedia document.

In conjunction with providing images to be added to the multimediadocument, content mining module 305 may provide images from themultimedia document to be deleted from the multimedia document to adjustthe content of the multimedia document for a particular demographicgroup to satisfy the desired distribution of content for thatdemographic group of the organization when the current distribution ofcontent for that demographic group does not satisfy the desireddistribution of content for that demographic group. For instance, if thecurrent distribution of slides in the slideshow include 70 slides of menout of a total of 100 slides and the desired distribution of slides thatinclude males is 65%, then computing device 101 may provide images ofmales (e.g., five images) from the multimedia document to be deletedfrom the multimedia document to reduce the number of slides depictingmales. In one embodiment, content mining module 305 may utilize a facialrecognition algorithm to identify appropriate images (e.g., images ofmales) from the multimedia document to be deleted from the multimediadocument.

In this manner, the user can ensure a desired distribution of content inthe multimedia document (e.g., yearbook, slideshow, video, website)among different demographic groups.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

1. A computer program product for ensuring a desired distribution ofimages in a multimedia document among different demographic groups, thecomputer program product comprising a computer readable storage mediumhaving program code embodied therewith, the program code comprising theprogramming instructions for: receiving demographic criteria to formdemographic groups of members of an organization; retrieving demographicinformation of said members of said organization; retrieving interestsof said members of said organization; analyzing said demographicinformation and said interests of said members of said organizationwithin constraints of said demographic criteria to generate astatistical distribution of members to form a desired distribution ofcontent of said multimedia document among said demographic groups ofsaid organization; receiving content of said multimedia document foranalysis; analyzing said content of said multimedia document based onsaid demographic criteria; determining a current distribution of saidcontent of said multimedia document among said demographic groups ofsaid organization based on said analysis; and adjusting said content ofsaid multimedia document by adding or deleting images to satisfy saiddesired distribution of content among said demographic groups of saidorganization in response to said current distribution of said content ofsaid multimedia document among said demographic groups of saidorganization not satisfying said desired distribution of content amongsaid demographic groups of said organization.
 2. The computer programproduct as recited in claim 1, wherein the program code furthercomprises the programming instructions for: providing an indication thatsaid current distribution of said content of said multimedia documentamong said demographic groups of said organization satisfies or does notsatisfy said desired distribution of content among said demographicgroups of said organization.
 3. The computer program product as recitedin claim 1, wherein the program code further comprises the programminginstructions for: receiving source images of said content of saidmultimedia document.
 4. The computer program product as recited in claim3, wherein the program code further comprises the programminginstructions for: providing images from said source images of saidcontent of said multimedia document to be added to said multimediadocument to adjust said content of said multimedia document to satisfysaid desired distribution of content among said demographic groups ofsaid organization.
 5. The computer program product as recited in claim1, wherein the program code further comprises the programminginstructions for: providing images from said content of said multimediadocument to be deleted from said multimedia document to adjust saidcontent of said multimedia document to satisfy said desired distributionof content among said demographic groups of said organization.
 6. Thecomputer program product as recited in claim 1, wherein the program codefurther comprises the programming instructions for: storing saidgenerated statistical distribution of members that form said desireddistribution of content of said multimedia document among saiddemographic groups of said organization.
 7. The computer program productas recited in claim 6, wherein the program code further comprises theprogramming instructions for: receiving information pertaining to saidcontent of said multimedia document; and adjusting said storedstatistical distribution of members that form said desired distributionof content of said multimedia document among said demographic groups ofsaid organization based on said received content information.
 8. Thecomputer program product as recited in claim 1, wherein said analysis ofsaid content of said multimedia document based on said demographiccriteria utilizes a facial recognition algorithm.
 9. The computerprogram product as recited in claim 1, wherein said demographic criteriacomprises one or more of the following: age, race, gender, department,interest, religion and family classification.
 10. The computer programproduct as recited in claim 1, wherein said multimedia documentcomprises one of the following: a yearbook, a slideshow, a video and awebsite.
 11. A system, comprising: a memory for storing a computerprogram for ensuring a desired distribution of images in a multimediadocument among different demographic groups; and a processor connectedto said memory, wherein said processor is configured to execute theprogram instructions of the computer program comprising: receivingdemographic criteria to form demographic groups of members of anorganization; retrieving demographic information of said members of saidorganization; retrieving interests of said members of said organization;analyzing said demographic information and said interests of saidmembers of said organization within constraints of said demographiccriteria to generate a statistical distribution of members to form adesired distribution of content of said multimedia document among saiddemographic groups of said organization; receiving content of saidmultimedia document for analysis; analyzing said content of saidmultimedia document based on said demographic criteria; determining acurrent distribution of said content of said multimedia document amongsaid demographic groups of said organization based on said analysis; andadjusting said content of said multimedia document by adding or deletingimages to satisfy said desired distribution of content among saiddemographic groups of said organization in response to said currentdistribution of said content of said multimedia document among saiddemographic groups of said organization not satisfying said desireddistribution of content among said demographic groups of saidorganization.
 12. The system as recited in claim 11, wherein the programinstructions of the computer program further comprise: providing anindication that said current distribution of said content of saidmultimedia document among said demographic groups of said organizationsatisfies or does not satisfy said desired distribution of content amongsaid demographic groups of said organization.
 13. The system as recitedin claim 11, wherein the program instructions of the computer programfurther comprise: receiving source images of said content of saidmultimedia document.
 14. The system as recited in claim 13, wherein theprogram instructions of the computer program further comprise: providingimages from said source images of said content of said multimediadocument to be added to said multimedia document to adjust said contentof said multimedia document to satisfy said desired distribution ofcontent among said demographic groups of said organization.
 15. Thesystem as recited in claim 11, wherein the program instructions of thecomputer program further comprise: providing images from said content ofsaid multimedia document to be deleted from said multimedia document toadjust said content of said multimedia document to satisfy said desireddistribution of content among said demographic groups of saidorganization.
 16. The system as recited in claim 11, wherein the programinstructions of the computer program further comprise: storing saidgenerated statistical distribution of members that form said desireddistribution of content of said multimedia document among saiddemographic groups of said organization.
 17. The system as recited inclaim 16, wherein the program instructions of the computer programfurther comprise: receiving information pertaining to said content ofsaid multimedia document; and adjusting said stored statisticaldistribution of members that form said desired distribution of contentof said multimedia document among said demographic groups of saidorganization based on said received content information.
 18. The systemas recited in claim 11, wherein said analysis of said content of saidmultimedia document based on said demographic criteria utilizes a facialrecognition algorithm.
 19. The system as recited in claim 11, whereinsaid demographic criteria comprises one or more of the following: age,race, gender, department, interest, religion and family classification.20. The system as recited in claim 11, wherein said multimedia documentcomprises one of the following: a yearbook, a slideshow, a video and awebsite.